package com.greenold.service.mapper;

import java.util.List;

import com.greenold.service.domain.CareLevel;
import org.apache.ibatis.annotations.Param;

/**
 * 护理等级Mapper接口
 *
 * @author YueYang
 * @date 2025-10-13
 */
public interface CareLevelMapper {
    /**
     * 查询护理等级
     *
     * @param id 护理等级主键
     * @return 护理等级
     */
    public CareLevel selectCareLevelById(String id);

    /**
     * 查询护理等级列表
     *
     * @param careLevel 护理等级
     * @return 护理等级集合
     */
    public List<CareLevel> selectCareLevelList(CareLevel careLevel);

    /**
     * 新增护理等级
     *
     * @param careLevel 护理等级
     * @return 结果
     */
    public int insertCareLevel(CareLevel careLevel);

    /**
     * 修改护理等级
     *
     * @param careLevel 护理等级
     * @return 结果
     */
    public int updateCareLevel(CareLevel careLevel);

    /**
     * 删除护理等级
     *
     * @param id 护理等级主键
     * @return 结果
     */
    public int deleteCareLevelById(String id);

    /**
     * 批量删除护理等级
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCareLevelByIds(String[] ids);

    /**
     * 修改护理等级状态
     *
     * @param id 根据id修改护理等级状态
     * @return 返回影响行数
     */
    int changeStatus(@Param("id") Integer id, @Param("status") String status);

    /**
     * 查询老人表获取绑定的所有护理等级id
     *
     * @return 所有护理等级id列表
     */
    List<Long> getBindCareLevelIds();
    /**
     * 查询护理等级表所有护理等级
     *
     * @return 所有护理等级表中的护理等级id列表
     */
    List<Long> getAllCareLevelIds();
}
